package com.ygqh.baby.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.SubscribeType;
import com.ygqh.baby.po.YgSubscribeMsgDetail;
import com.ygqh.baby.po.YgSubscribeMsgDetailExample;

public interface YgSubscribeMsgDetailMapper {
	int countByExample(YgSubscribeMsgDetailExample example);

	int deleteByExample(YgSubscribeMsgDetailExample example);

	int deleteByPrimaryKey(Long id);

	int insert(YgSubscribeMsgDetail record);

	int insertSelective(YgSubscribeMsgDetail record);

	List<YgSubscribeMsgDetail> selectByExample(YgSubscribeMsgDetailExample example);

	YgSubscribeMsgDetail selectByPrimaryKey(Long id);

	int updateByExampleSelective(@Param("record") YgSubscribeMsgDetail record, @Param("example") YgSubscribeMsgDetailExample example);

	int updateByExample(@Param("record") YgSubscribeMsgDetail record, @Param("example") YgSubscribeMsgDetailExample example);

	int updateByPrimaryKeySelective(YgSubscribeMsgDetail record);

	int updateByPrimaryKey(YgSubscribeMsgDetail record);

	int countSuper(@Param("q") String q);

	List<YgSubscribeMsgDetail> selectSuper(@Param("queryInfo") QueryInfo queryInfo, @Param("q") String q);

	List<YgSubscribeMsgDetail> selectByType(@Param("subscribeType") SubscribeType subscribeType, @Param("openId") String openId, @Param("scene") String scene,
			@Param("isSend") Boolean isSend);

	int updateSendStatusBatch(@Param("list") List<YgSubscribeMsgDetail> list);

	int selectCountByType(@Param("subscribeType") SubscribeType subscribeType, @Param("openId") String openId, @Param("scene") String scene,
			@Param("isSend") Boolean isSend);

}
